La liquidità di un mercato finanziario si riferisce alla facilità con cui gli investitori possono comprare o vendere titoli finanziari (come azioni, obbligazioni, valute, ecc.) senza causare significative fluttuazioni nei prezzi di mercato. In altre parole, un mercato finanziario è considerato liquido quando gli investitori possono effettuare transazioni con relativa rapidità ed efficienza, con costi di transazione minimi e senza causare impatti significativi sui prezzi degli strumenti finanziari.
Un mercato finanziario altamente liquido è caratterizzato da una maggiore attività di scambio di titoli, un elevato numero di partecipanti, un elevato volume di scambi giornalieri e una stretta differenza tra i prezzi di acquisto (offerta) e i prezzi di vendita (domanda), noti come spread. Al contrario, in un mercato finanziario con scarsa liquidità, può essere difficile acquistare o vendere titoli e ciò può comportare costi di transazione più elevati e prezzi più volatili.
La liquidità è un importante fattore da considerare quando si decide di investire in un mercato finanziario. I mercati altamente liquidi sono generalmente considerati meno rischiosi, poiché gli investitori possono entrare o uscire facilmente dalle posizioni. D'altra parte, i mercati con bassa liquidità possono comportare maggiori rischi e sfide per gli investitori, poiché potrebbe essere difficile convertire i propri investimenti in denaro contante senza influire in modo significativo sui prezzi del mercato.
Acquisto di criptovalute:
Conservazione delle criptovalute:
Negoziazione:
Uscita dal mercato:
Per quanto riguarda la liquidità del mercato delle criptovalute, essa può variare notevolmente da una criptovaluta all'altra e da un momento all'altro.
Le criptovalute più popolari come Bitcoin ed Ethereum tendono ad avere mercati più liquidi, con un alto volume di scambi giornalieri. Tuttavia, le criptovalute meno conosciute o di nicchia possono avere mercati meno liquidi, il che significa che potrebbe essere più difficile acquistare o vendere grandi quantità senza influire significativamente sui prezzi.
In generale, il mercato delle criptovalute è noto per la sua volatilità, il che può comportare fluttuazioni dei prezzi molto rapide e ampie.
I dati sono stati estratti dal sito Yahoo Finance usando delle REST API. I dati sono stati scaricati per quattro criptovalute:
I dati sono stati scaricati per l'intervallo temporale tra 2018-01-01 e 2023-09-01
Per tenere conto dell'inflazione degli ultimi anni consideriamo una correzione sui prezzi fatta usando il Consumer Price Index (CPI), ottenuto estraendo i dati dal sito della FRED. I dati estratti da quest'ultimo sito sono mensili, mentre i dati scaricati per le criptovalute sono periodici. Per rendere i dati omogenei procediamo facendo un'interpolazione lineare del CPI, ottenendo il dato per ogni giorno.
<Figure size 640x480 with 0 Axes>
| Date | CPI | Infation | |
|---|---|---|---|
| 0 | 2018-01-01 | 248.859000 | 0.013664 |
| 1 | 2018-01-02 | 248.880613 | 0.008685 |
| 2 | 2018-01-03 | 248.902226 | 0.008684 |
| 3 | 2018-01-04 | 248.923839 | 0.008683 |
| 4 | 2018-01-05 | 248.945452 | 0.008683 |
| ... | ... | ... | ... |
| 2065 | 2023-08-28 | 307.324613 | 0.012723 |
| 2066 | 2023-08-29 | 307.363710 | 0.012722 |
| 2067 | 2023-08-30 | 307.402806 | 0.012720 |
| 2068 | 2023-08-31 | 307.441903 | 0.012718 |
| 2069 | 2023-09-01 | 307.481000 | 0.012717 |
2070 rows × 3 columns
| Date | Open | High | Low | Close | Adj Close | Volume | NormalizedClose | |
|---|---|---|---|---|---|---|---|---|
| 0 | 2018-01-01 | 755.757019 | 782.530029 | 742.004028 | 772.640991 | 772.640991 | 2595760128 | 762.083453 |
| 1 | 2018-01-02 | 772.346008 | 914.830017 | 772.346008 | 884.443970 | 884.443970 | 5783349760 | 876.762752 |
| 2 | 2018-01-03 | 886.000000 | 974.471008 | 868.450989 | 962.719971 | 962.719971 | 5093159936 | 954.359668 |
| 3 | 2018-01-04 | 961.713013 | 1045.079956 | 946.085999 | 980.921997 | 980.921997 | 6502859776 | 972.404366 |
| 4 | 2018-01-05 | 975.750000 | 1075.390015 | 956.325012 | 997.719971 | 997.719971 | 6683149824 | 989.057231 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 2065 | 2023-08-28 | 1657.439819 | 1659.328735 | 1627.446777 | 1652.457397 | 1652.457397 | 4855588534 | 1631.432731 |
| 2066 | 2023-08-29 | 1652.274170 | 1742.637329 | 1639.576172 | 1729.725708 | 1729.725708 | 11304916729 | 1707.720736 |
| 2067 | 2023-08-30 | 1729.676636 | 1730.564697 | 1697.147217 | 1705.112183 | 1705.112183 | 5023904190 | 1683.423095 |
| 2068 | 2023-08-31 | 1705.364502 | 1720.011963 | 1634.850952 | 1645.639160 | 1645.639160 | 6593153505 | 1624.709233 |
| 2069 | 2023-09-01 | 1645.581299 | 1653.531738 | 1603.034180 | 1628.491211 | 1628.491211 | 6104510092 | 1607.782013 |
2070 rows × 8 columns
Per avere una maggiore stabilità dei valori numerici, passiamo allo studio del logaritmo dei prezzi di chiusura considerandolo come proxy dello studio condotto sui valori originali.
| Date | Open | High | Low | Close | Adj Close | Volume | NormalizedClose | LogClosePrice | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 2018-01-01 | 14112.200195 | 14112.200195 | 13154.700195 | 13657.200195 | 13657.200195 | 10291200000 | 13470.585182 | 4.129386 |
| 1 | 2018-01-02 | 13625.000000 | 15444.599609 | 13163.599609 | 14982.099609 | 14982.099609 | 16846600192 | 14851.983090 | 4.171784 |
| 2 | 2018-01-03 | 14978.200195 | 15572.799805 | 14844.500000 | 15201.000000 | 15201.000000 | 16871900160 | 15068.993839 | 4.178084 |
| 3 | 2018-01-04 | 15270.700195 | 15739.700195 | 14522.200195 | 15599.200195 | 15599.200195 | 21783199744 | 15463.747809 | 4.189315 |
| 4 | 2018-01-05 | 15477.200195 | 17705.199219 | 15202.799805 | 17429.500000 | 17429.500000 | 23840899072 | 17278.167730 | 4.237498 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 2065 | 2023-08-28 | 26089.615234 | 26198.578125 | 25880.599609 | 26106.150391 | 26106.150391 | 11002805166 | 25773.994720 | 4.411182 |
| 2066 | 2023-08-29 | 26102.486328 | 28089.337891 | 25912.628906 | 27727.392578 | 27727.392578 | 29368391712 | 27374.654281 | 4.437349 |
| 2067 | 2023-08-30 | 27726.083984 | 27760.160156 | 27069.207031 | 27297.265625 | 27297.265625 | 16343655235 | 26950.043426 | 4.430559 |
| 2068 | 2023-08-31 | 27301.929688 | 27456.078125 | 25752.929688 | 25931.472656 | 25931.472656 | 20181001451 | 25601.665345 | 4.408268 |
| 2069 | 2023-09-01 | 25934.021484 | 26125.869141 | 25362.609375 | 25800.724609 | 25800.724609 | 17202862221 | 25472.621935 | 4.406074 |
2070 rows × 9 columns
<Figure size 640x480 with 0 Axes>
Tracciamo gli autocorrelogrammi e gli autocorrelogrammi parziali delle serie dei prezzi logaritmici. Ricordiamo che:
Come si vede dai grafici:
<Figure size 640x480 with 0 Axes>
Cerchiamo una componente di Random Walk all'interno delle serie.
La presenza di una componente di Random Walk nella serie è indice del fatto che il mercato non è prevedibile e che quindi il suo andamento può salire o scendere in modo casuale, ovvero assume valori:
Le componenti di Random Walk vengono ricercate usando due Test di Ipotesi:
Nel test di KPSS abbiamo:
Nel test di ADF abbiamo:
Nel nostro caso vogliamo:
KPSS ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 4.630432272815153 │ 0.01 │ Reject │ │ BTC-USD │ 4.820559865672976 │ 0.01 │ Reject │ │ DASH-USD │ 2.7531299544913352 │ 0.01 │ Reject │ │ XRP-USD │ 0.918683154822733 │ 0.01 │ Reject │ └──────────┴────────────────────┴────────┴─────────┘
ADF ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ -0.9501313424178289 │ 0.7710157360162664 │ Accept │ │ BTC-USD │ -0.978510604401754 │ 0.7610211585021541 │ Accept │ │ DASH-USD │ -2.8180938650045064 │ 0.0557353087206187 │ Accept │ │ XRP-USD │ -3.500868599705032 │ 0.007964814582617451 │ Reject │ └──────────┴─────────────────────┴──────────────────────┴─────────┘
Dai test condotti si vede che tutte le serie hanno natura di Random Walk, fatta eccezione per l'ultima che non passa il test ADF. Tuttavia, passando il test KPSS ed essendo il valore del pValue abbastanza vicino al limite possiamo concludere che il trend stocastico sia presente anche per la crypto XRP-USD ma che sia un trend debole.
Procediamo lo studio con l'analisi del rumore.
Passiamo al differencing della serie storica, ottenendo $Y_{t+1} - Y_{t} = W_{t}$ e procedendo con un'analisi del termine $W_{t}$.
Il differencing viene fatto sul risultato del passaggio al logaritmo dei valori originari. Siano:
Fare il differencing dei valori logaritmici ci permette di fare quanto segue:
$Y_{t+1} - Y_{t} = \log(P_{t+1}) - \log(P_t) = \log(\frac{P_{t+1}}{P_{t}}) = \log(R) = W_t$
Ovvero analizzare se il rendimento ha o meno natura di White Noise, controllando:
<Figure size 640x480 with 0 Axes>
Per l'analisi di stazionarietà eseguiamo due test:
Nel test di KPSS abbiamo:
Nel test di Adfuller abbiamo:
Nel nostro caso vogliamo:
KPSS ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 0.23201574524870314 │ 0.1 │ Accept │ │ BTC-USD │ 0.15674142996559834 │ 0.1 │ Accept │ │ DASH-USD │ 0.13769918829263092 │ 0.1 │ Accept │ │ XRP-USD │ 0.19808342863898767 │ 0.1 │ Accept │ └──────────┴─────────────────────┴────────┴─────────┘
ADF ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ -13.748813873133498 │ 1.0600349812346284e-25 │ Reject │ │ BTC-USD │ -31.470467916876196 │ 0.0 │ Reject │ │ DASH-USD │ -21.645263875919735 │ 0.0 │ Reject │ │ XRP-USD │ -46.79501030099321 │ 0.0 │ Reject │ └──────────┴─────────────────────┴────────────────────────┴─────────┘
Dal test di KPSS e dal test ADF, possiamo concludere che il differencing $W_t$ è stazionario
Per l'analisi di eteroschedasticità eseguiamo i seguenti test:
Nel test di Breusch-Pagan abbiamo:
Nel test di White abbiamo:
In questo caso vogliamo:
ETH-USD
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.000
Model: OLS Adj. R-squared: -0.000
Method: Least Squares F-statistic: 0.5481
Date: ven, 15 dic 2023 Prob (F-statistic): 0.459
Time: 08:32:37 Log-Likelihood: 5049.8
No. Observations: 2069 AIC: -1.010e+04
Df Residuals: 2067 BIC: -1.008e+04
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const -0.0004 0.001 -0.472 0.637 -0.002 0.001
x1 5.746e-07 7.76e-07 0.740 0.459 -9.47e-07 2.1e-06
==============================================================================
Omnibus: 632.947 Durbin-Watson: 2.106
Prob(Omnibus): 0.000 Jarque-Bera (JB): 10358.413
Skew: -0.995 Prob(JB): 0.00
Kurtosis: 13.779 Cond. No. 2.39e+03
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 2.39e+03. This might indicate that there are
strong multicollinearity or other numerical problems.
BTC-USD
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.000
Model: OLS Adj. R-squared: -0.000
Method: Least Squares F-statistic: 0.1443
Date: ven, 15 dic 2023 Prob (F-statistic): 0.704
Time: 08:32:37 Log-Likelihood: 5578.7
No. Observations: 2069 AIC: -1.115e+04
Df Residuals: 2067 BIC: -1.114e+04
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const -0.0001 0.001 -0.143 0.887 -0.002 0.001
x1 2.283e-07 6.01e-07 0.380 0.704 -9.5e-07 1.41e-06
==============================================================================
Omnibus: 697.962 Durbin-Watson: 2.089
Prob(Omnibus): 0.000 Jarque-Bera (JB): 16730.990
Skew: -1.029 Prob(JB): 0.00
Kurtosis: 16.778 Cond. No. 2.39e+03
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 2.39e+03. This might indicate that there are
strong multicollinearity or other numerical problems.
DASH-USD
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.000
Model: OLS Adj. R-squared: -0.000
Method: Least Squares F-statistic: 0.3637
Date: ven, 15 dic 2023 Prob (F-statistic): 0.547
Time: 08:32:37 Log-Likelihood: 4747.7
No. Observations: 2069 AIC: -9491.
Df Residuals: 2067 BIC: -9480.
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const -0.0013 0.001 -1.252 0.211 -0.003 0.001
x1 5.417e-07 8.98e-07 0.603 0.547 -1.22e-06 2.3e-06
==============================================================================
Omnibus: 376.450 Durbin-Watson: 2.095
Prob(Omnibus): 0.000 Jarque-Bera (JB): 8823.543
Skew: -0.083 Prob(JB): 0.00
Kurtosis: 13.116 Cond. No. 2.39e+03
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 2.39e+03. This might indicate that there are
strong multicollinearity or other numerical problems.
XRP-USD
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.001
Model: OLS Adj. R-squared: 0.000
Method: Least Squares F-statistic: 1.386
Date: ven, 15 dic 2023 Prob (F-statistic): 0.239
Time: 08:32:37 Log-Likelihood: 4673.8
No. Observations: 2069 AIC: -9344.
Df Residuals: 2067 BIC: -9332.
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const -0.0015 0.001 -1.315 0.189 -0.004 0.001
x1 1.096e-06 9.31e-07 1.177 0.239 -7.3e-07 2.92e-06
==============================================================================
Omnibus: 510.216 Durbin-Watson: 2.059
Prob(Omnibus): 0.000 Jarque-Bera (JB): 22254.586
Skew: 0.337 Prob(JB): 0.00
Kurtosis: 19.053 Cond. No. 2.39e+03
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 2.39e+03. This might indicate that there are
strong multicollinearity or other numerical problems.
Breusch-Pagan ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 8.567367566736669 │ 0.0034597918568196914 │ Reject │ │ BTC-USD │ 7.763759935805086 │ 0.005379165131515243 │ Reject │ │ DASH-USD │ 2.276765009171112 │ 0.1314783730532143 │ Accept │ │ XRP-USD │ 1.2467607341644058 │ 0.2643018406639988 │ Accept │ └──────────┴────────────────────┴───────────────────────┴─────────┘
White ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 5.26508181913567 │ 0.005238555530471663 │ Reject │ │ BTC-USD │ 4.141400487811925 │ 0.016032762971599328 │ Reject │ │ DASH-USD │ 3.666072606577798 │ 0.025743255972081297 │ Reject │ │ XRP-USD │ 0.7598677076192619 │ 0.4678589731665155 │ Accept │ └──────────┴────────────────────┴──────────────────────┴─────────┘
Notiamo che XRP-USD è l'unica delle Crypto per cui il test passa: analizzando il grafico possiamo notare come ci sia una certa costanza nella volatilità della serie, quindi anche graficamente abbiamo una conferma del risultato.
Per le altre crypto invece abbiamo che, trattandosi di serie abbastanza lunghe, è fattibile che la varianza vari.
Per l'Autocorrelazione consideriamo i seguenti test:
Per il test Ljung-Box:
Vogliamo quindi :
Ljung-Box ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 31.609722534078987 │ 0.0004650065716092994 │ Reject │ │ BTC-USD │ 16.925034452734113 │ 0.07603932218108504 │ Accept │ │ DASH-USD │ 15.716773963771859 │ 0.10803220218423684 │ Accept │ │ XRP-USD │ 7.977674132723926 │ 0.631017790629593 │ Accept │ └──────────┴────────────────────┴───────────────────────┴─────────┘
Tracciamo gli autocorrelogrammi e gli autocorrelogrammi parziali dei dati.
<Figure size 640x480 with 0 Axes>
Il test quindi Accetta per entrambi i casi e i dati non dovrebbero essere autocorrelati. Tuttavia, osservando i grafici relativi al differencing, possiamo notare come vi siano dei cluster di varianza costante, in cui a basse varianze seguono zone di bassa varianza (analogamente per quelle ad alta varianza).
Riassumendo abbiamo:
Questo fenomeno potrebbe essere dovuto al fatto che i dati sono molti, e quindi il grande numero di dati potrebbe offuscare l'autocorrelazione portando i dati a tendere al gaussiano.
Ci fa supporre la presenza di punti di rottura nella struttura.
Passiamo quindi, dopo dei veloci test sulla gaussianità, all'analisi delle rotture strutturali.
Per l'analisi di normalità eseguiamo i seguenti test:
Nel test di Shapiro-Wilk abbiamo:
Nel test di Kolmogorov-Smirnov abbiamo:
Nel nostro caso vogliamo:
Shapiro-Wilk ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 0.9225029349327087 │ 2.243272511905845e-31 │ Reject │ │ BTC-USD │ 0.9065624475479126 │ 7.687562699532387e-34 │ Reject │ │ DASH-USD │ 0.9040272235870361 │ 3.3494620980164206e-34 │ Reject │ │ XRP-USD │ 0.8357081413269043 │ 7.15923385423549e-42 │ Reject │ └──────────┴────────────────────┴────────────────────────┴─────────┘
Kolmogorov-Smirnov ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 0.4705378122861261 │ 0.0 │ Reject │ │ BTC-USD │ 0.47608764853183083 │ 0.0 │ Reject │ │ DASH-USD │ 0.46608875744466827 │ 0.0 │ Reject │ │ XRP-USD │ 0.4642030732172747 │ 0.0 │ Reject │ └──────────┴─────────────────────┴────────┴─────────┘
Notiamo quindi che i due test ci fanno rigettare in entrambi i casi l'ipotesi nulla di normalità dei dati.
Cerchiamo i punti di rottura usando le funzioni di R:
Structural Breakpoints ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓ ┃ Crypto ┃ Breakpoint ┃ FStats ┃ SupMZ ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩ │ ETH-USD │ | 2018-11-06 | 2020-02-06 | 2021-01-02 | 2022-05-10 | │ | 2020-12-29 | │ | 2021-01-04 | │ │ BTC-USD │ | 2019-05-12 | 2020-12-15 | 2022-05-08 | │ | 2020-11-11 | │ | 2020-11-06 | │ │ DASH-USD │ | 2018-11-06 | 2019-09-22 | 2021-01-09 | 2022-05-04 | │ | 2018-11-07 | │ | 2022-05-12 | │ │ XRP-USD │ | 2018-11-18 | 2019-09-24 | 2021-02-08 | 2022-04-28 | │ | 2021-02-08 | │ | 2021-02-05 | │ └──────────┴────────────────────────────────────────────────────────┴─────────────────┴─────────────────┘
<Figure size 640x480 with 0 Axes>
<Figure size 640x480 with 0 Axes>
I test rilevano quindi la presenza di punti di rottura.
Notiamo in particolare che test diversi rilevano punti di rottura simili: scegliamo quindi di procedere con un "voto a maggioranza", prendendo il punto di rottura più simile tra i tre test.
Dividiamo il dataset ristretto per ogni crypto in due parti, training e test set: manteniamo nel training circa il 90% dei dati di ogni strumento.
<Figure size 640x480 with 0 Axes>
Come nel primo caso analizziamo il differencing e vediamo se questo ha natura di white noise.
Per l'analisi di stazionarietà eseguiamo due test:
Nel test di KPSS abbiamo:
Nel test di Adfuller abbiamo:
Nel nostro caso vogliamo:
KPSS ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 0.30402339982507376 │ 0.1 │ Accept │ │ BTC-USD │ 0.26793706713609056 │ 0.1 │ Accept │ │ DASH-USD │ 0.14448487432870857 │ 0.1 │ Accept │ │ XRP-USD │ 0.10857489114721602 │ 0.1 │ Accept │ └──────────┴─────────────────────┴────────┴─────────┘
ADF ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ -31.463043189797844 │ 0.0 │ Reject │ │ BTC-USD │ -30.483765580661746 │ 0.0 │ Reject │ │ DASH-USD │ -15.051422863190458 │ 9.281783031352217e-28 │ Reject │ │ XRP-USD │ -31.024464015415518 │ 0.0 │ Reject │ └──────────┴─────────────────────┴───────────────────────┴─────────┘
Per l'analisi di eteroschedasticità eseguiamo i seguenti test:
Nel test di Breusch-Pagan abbiamo:
Nel test di White abbiamo:
In questo caso vogliamo:
Breusch-Pagan ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 25.05566267671057 │ 6.737702332420841e-07 │ Reject │ │ BTC-USD │ 25.84501763683427 │ 4.5114279068198483e-07 │ Reject │ │ DASH-USD │ 2.495168564366106 │ 0.11492299248948996 │ Accept │ │ XRP-USD │ 34.8344311264828 │ 5.204886672228533e-09 │ Reject │ └──────────┴───────────────────┴────────────────────────┴─────────┘
White ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 13.1651660977433 │ 2.32843202022156e-06 │ Reject │ │ BTC-USD │ 13.22301453319326 │ 2.193663541133534e-06 │ Reject │ │ DASH-USD │ 3.299977334208391 │ 0.037811687468737934 │ Reject │ │ XRP-USD │ 23.00017453495107 │ 1.885248700990853e-10 │ Reject │ └──────────┴───────────────────┴───────────────────────┴─────────┘
Per l'Autocorrelazione consideriamo i seguenti test:
Per il test Ljung-Box:
Vogliamo quindi :
Ljung-Box ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 20.74439638246904 │ 0.022948121087501706 │ Reject │ │ BTC-USD │ 12.632829754955273 │ 0.24493117060834974 │ Accept │ │ DASH-USD │ 9.348220225953458 │ 0.49940562393741117 │ Accept │ │ XRP-USD │ 16.883011215521183 │ 0.07699305871115295 │ Accept │ └──────────┴────────────────────┴──────────────────────┴─────────┘
<Figure size 640x480 with 0 Axes>
Osserviamo forte correlazione (effetto clustering) e quindi potremmo procedere a modellarli con dei processi GARCH.
Per l'analisi di normalità eseguiamo i seguenti test:
Nel test di Shapiro-Wilk abbiamo:
Nel test di Kolmogorov-Smirnov abbiamo:
Nel nostro caso vogliamo:
Shapiro-Wilk ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 0.9502420425415039 │ 1.3270286513620812e-16 │ Reject │ │ BTC-USD │ 0.9572618007659912 │ 1.919576134737323e-15 │ Reject │ │ DASH-USD │ 0.939193844795227 │ 2.2313227654446877e-12 │ Reject │ │ XRP-USD │ 0.8953757286071777 │ 1.7658039207309898e-23 │ Reject │ └──────────┴────────────────────┴────────────────────────┴─────────┘
Kolmogorov-Smirnov ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 0.47223125234355756 │ 1.3485745072511574e-179 │ Reject │ │ BTC-USD │ 0.4785933494051804 │ 3.9304122976977064e-188 │ Reject │ │ DASH-USD │ 0.4741664051569694 │ 9.750037391596386e-91 │ Reject │ │ XRP-USD │ 0.46522174716623627 │ 1.8352320088248526e-167 │ Reject │ └──────────┴─────────────────────┴─────────────────────────┴─────────┘
Analizziamo l'autocorrelazione dei quadrati: osservando i grafici possiamo infatti notare come a periodi di alta volatilità seguano periodi di alta volatilità e come a periodi di bassa volatilità seguano periodi di bassa volatilità. Questo ci fa supporre la presenza di una autocorrelazione nella serie delle varianze.
Ricordando che:
$D^{2}[X_t] = E[X_t^{2}] + E^{2}[X_t]$
Se la media fosse nulla quindi la varianza dei rendimenti corrisponderebbe con il quadrato dei rendimenti stessi:
$D^{2}[X_t] = E[X_t^{2}]$
Zero Mean Test ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┓ ┃ Crypto ┃ T-Statistic ┃ P-Value ┃ Result ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━┩ │ ETH-USD │ 0.33808066325759595 │ 0.7353367184851297 │ Accept │ │ BTC-USD │ 0.3725821323911949 │ 0.7094976528285228 │ Accept │ │ DASH-USD │ -1.459006273766798 │ 0.14471524793122822 │ Accept │ │ XRP-USD │ -0.5918757465602607 │ 0.5539984936921993 │ Accept │ └──────────┴─────────────────────┴─────────────────────┴────────┘
Per nessuno degli strumenti finanziari possiamo rigettare l'ipotesi nulla di media nulla al 95%.
Procediamo quindi con l'analisi dei rendimenti logaritmici quadrati. Analizziamo l'eventuale presenza di autocorrelazione con il test di Ljung-Box.
Ljung-Box ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 107.45662340504884 │ 1.7362744278257656e-18 │ Reject │ │ BTC-USD │ 28.435878927917237 │ 0.0015366636984585028 │ Reject │ │ DASH-USD │ 20.296369471575147 │ 0.026570915198950266 │ Reject │ │ XRP-USD │ 124.35893071112875 │ 6.585066550321394e-22 │ Reject │ └──────────┴────────────────────┴────────────────────────┴─────────┘
Dai risultati si evince che per tutte le monete si può rigettare l'ipotesi nulla di non-autocorrelazione, concludiamo quindi che tutte le monete presentano autocorrelazione.
Procediamo a graficare quindi gli autocorrelogrammi per le varie monete.
<Figure size 640x480 with 0 Axes>
Essendo presente autocorrelazione nella volatilità dei rendimenti possiamo procedere a modellarla tramite un Generalized ARCH model (GARCH).
Nel modello GARCH ...In practice, only rather rich ARCH parameterizations are able to fit financial series adequately However, largely parameterized models can be unstable in forecasting and a hard to estimate In order to overcome the shortcomings of the ARCH, Tim Bollerslev proposed a generalisation of the ARCH model called GARCH (Bollerslev, 1986) The model allows to fit financial returns adequately while keeping the number of parameters small In practice, the GARCH model is one of the most successfully employed volatility models
(da pag 63 a 110 circa)
ETH-USD
Constant Mean - GARCH Model Results
==============================================================================
Dep. Variable: Diff R-squared: 0.000
Mean Model: Constant Mean Adj. R-squared: 0.000
Vol Model: GARCH Log-Likelihood: 2214.67
Distribution: Normal AIC: -4421.35
Method: Maximum Likelihood BIC: -4402.25
No. Observations: 875
Date: ven, dic 15 2023 Df Residuals: 874
Time: 08:39:00 Df Model: 1
Mean Model
=============================================================================
coef std err t P>|t| 95.0% Conf. Int.
-----------------------------------------------------------------------------
mu 5.1548e-04 5.980e-04 0.862 0.389 [-6.566e-04,1.688e-03]
Volatility Model
============================================================================
coef std err t P>|t| 95.0% Conf. Int.
----------------------------------------------------------------------------
omega 8.7622e-06 3.227e-11 2.715e+05 0.000 [8.762e-06,8.762e-06]
alpha[1] 0.0999 3.855e-02 2.592 9.552e-03 [2.435e-02, 0.175]
beta[1] 0.8801 3.175e-02 27.722 3.824e-169 [ 0.818, 0.942]
============================================================================
Covariance estimator: robust
***** ESTIMATION WITH ANALYTICAL GRADIENT *****
I INITIAL X(I) D(I)
1 3.927254e-04 1.000e+00
2 5.000000e-02 1.000e+00
3 5.000000e-02 1.000e+00
IT NF F RELDF PRELDF RELDX STPPAR D*STEP NPRELDF
0 1 -2.964e+03
1 7 -2.964e+03 1.76e-04 2.76e-04 1.6e-04 3.4e+09 1.6e-05 4.66e+05
2 8 -2.965e+03 1.17e-05 1.29e-05 1.4e-04 2.0e+00 1.6e-05 1.27e+00
3 15 -2.967e+03 8.08e-04 1.17e-03 2.8e-01 2.0e+00 4.0e-02 1.26e+00
4 18 -2.975e+03 2.58e-03 7.88e-03 8.4e-01 1.9e+00 6.4e-01 2.74e-01
5 30 -2.999e+03 8.07e-03 5.29e-02 3.9e-05 4.0e+00 5.4e-05 9.59e-02
6 36 -3.005e+03 1.98e-03 1.48e-03 9.8e-03 1.8e+00 1.4e-02 1.33e-02
7 37 -3.005e+03 1.83e-04 2.71e-03 9.9e-03 1.9e+00 1.4e-02 1.23e-02
8 38 -3.010e+03 1.40e-03 2.52e-03 4.7e-03 1.9e+00 6.8e-03 2.72e-03
9 41 -3.012e+03 6.81e-04 8.80e-04 5.4e-02 5.2e-01 7.9e-02 1.00e-03
10 42 -3.014e+03 7.13e-04 1.36e-03 3.5e-02 4.3e-01 7.9e-02 1.44e-03
11 44 -3.017e+03 1.22e-03 2.02e-03 1.8e-02 1.3e+00 3.1e-02 2.84e-03
12 45 -3.018e+03 2.68e-04 4.34e-04 2.2e-02 0.0e+00 4.1e-02 4.34e-04
13 46 -3.019e+03 1.95e-04 3.54e-04 1.9e-02 8.7e-01 4.1e-02 4.53e-04
14 47 -3.019e+03 8.44e-05 1.20e-04 9.9e-03 0.0e+00 2.1e-02 1.20e-04
15 48 -3.019e+03 2.03e-05 1.91e-05 5.9e-03 0.0e+00 1.3e-02 1.91e-05
16 49 -3.019e+03 5.28e-07 6.36e-07 4.6e-04 0.0e+00 8.4e-04 6.36e-07
17 50 -3.019e+03 2.35e-08 3.30e-08 7.4e-06 0.0e+00 1.8e-05 3.30e-08
18 51 -3.019e+03 3.44e-09 3.71e-09 9.9e-06 1.5e+00 1.8e-05 4.38e-09
19 52 -3.019e+03 6.61e-10 5.34e-10 1.4e-05 0.0e+00 2.6e-05 5.34e-10
20 53 -3.019e+03 -2.56e-11 7.08e-12 1.6e-06 0.0e+00 2.9e-06 7.08e-12
***** RELATIVE FUNCTION CONVERGENCE *****
FUNCTION -3.019151e+03 RELDX 1.606e-06
FUNC. EVALS 53 GRAD. EVALS 20
PRELDF 7.076e-12 NPRELDF 7.076e-12
I FINAL X(I) D(I) G(I)
1 1.092235e-05 1.000e+00 -4.028e+01
2 9.746033e-02 1.000e+00 7.699e-03
3 8.785455e-01 1.000e+00 -1.044e-03
BTC-USD
Constant Mean - GARCH Model Results
==============================================================================
Dep. Variable: Diff R-squared: 0.000
Mean Model: Constant Mean Adj. R-squared: 0.000
Vol Model: GARCH Log-Likelihood: 2457.09
Distribution: Normal AIC: -4906.17
Method: Maximum Likelihood BIC: -4887.00
No. Observations: 891
Date: ven, dic 15 2023 Df Residuals: 890
Time: 08:39:00 Df Model: 1
Mean Model
=============================================================================
coef std err t P>|t| 95.0% Conf. Int.
-----------------------------------------------------------------------------
mu 1.5056e-04 4.904e-04 0.307 0.759 [-8.106e-04,1.112e-03]
Volatility Model
============================================================================
coef std err t P>|t| 95.0% Conf. Int.
----------------------------------------------------------------------------
omega 5.2742e-06 1.534e-13 3.437e+07 0.000 [5.274e-06,5.274e-06]
alpha[1] 0.0500 8.641e-04 57.854 0.000 [4.830e-02,5.169e-02]
beta[1] 0.9298 5.429e-03 171.285 0.000 [ 0.919, 0.940]
============================================================================
Covariance estimator: robust
***** ESTIMATION WITH ANALYTICAL GRADIENT *****
I INITIAL X(I) D(I)
1 2.265060e-04 1.000e+00
2 5.000000e-02 1.000e+00
3 5.000000e-02 1.000e+00
IT NF F RELDF PRELDF RELDX STPPAR D*STEP NPRELDF
0 1 -3.251e+03
1 8 -3.251e+03 2.80e-05 5.41e-05 4.7e-05 8.0e+09 4.7e-06 2.16e+05
2 16 -3.253e+03 3.53e-04 6.39e-04 2.9e-01 2.0e+00 4.1e-02 4.05e-01
3 20 -3.263e+03 3.10e-03 9.22e-04 8.6e-01 6.0e-01 6.5e-01 3.78e-03
4 28 -3.264e+03 3.85e-04 8.48e-04 3.7e-06 1.4e+01 5.2e-06 2.26e+00
5 29 -3.264e+03 2.18e-06 1.92e-06 3.7e-06 2.0e+00 5.2e-06 4.51e+00
6 30 -3.264e+03 1.28e-07 1.32e-07 3.7e-06 2.0e+00 5.2e-06 4.63e+00
7 39 -3.269e+03 1.55e-03 1.37e-03 5.7e-02 2.0e+00 8.5e-02 4.62e+00
8 41 -3.270e+03 3.03e-04 3.27e-04 1.1e-02 2.0e+00 1.7e-02 5.85e+01
9 42 -3.271e+03 1.87e-04 3.03e-04 1.1e-02 2.0e+00 1.7e-02 3.44e+01
10 43 -3.271e+03 7.07e-05 3.45e-04 1.0e-02 2.0e+00 1.7e-02 2.44e+00
11 45 -3.271e+03 5.88e-05 1.70e-04 3.6e-03 2.0e+00 6.1e-03 1.59e-01
12 46 -3.271e+03 4.26e-05 6.20e-05 3.6e-03 2.0e+00 6.1e-03 1.74e-02
13 48 -3.271e+03 2.50e-06 3.71e-06 1.1e-03 2.0e+00 1.9e-03 3.68e-03
14 54 -3.271e+03 4.76e-07 9.43e-07 5.1e-08 2.1e+01 8.5e-08 2.92e-03
15 55 -3.271e+03 6.85e-10 1.07e-09 4.8e-08 2.0e+00 8.5e-08 1.85e-03
16 65 -3.272e+03 1.16e-04 2.87e-04 1.6e-02 1.6e+00 2.9e-02 1.85e-03
17 67 -3.274e+03 6.03e-04 6.38e-04 1.3e-02 6.0e-01 2.9e-02 2.63e-03
18 68 -3.275e+03 3.50e-04 4.78e-04 1.4e-02 7.6e-01 2.9e-02 7.41e-04
19 79 -3.275e+03 7.20e-06 1.72e-05 1.8e-07 2.8e+00 3.2e-07 2.32e-05
20 80 -3.275e+03 1.31e-06 1.24e-06 1.5e-07 2.0e+00 3.2e-07 2.61e-06
21 86 -3.275e+03 6.75e-07 7.48e-07 1.8e-04 8.3e-01 3.3e-04 1.33e-06
22 87 -3.275e+03 2.72e-07 3.09e-07 1.6e-04 0.0e+00 3.9e-04 3.09e-07
23 88 -3.275e+03 2.36e-09 6.67e-10 3.3e-05 0.0e+00 7.2e-05 6.67e-10
24 99 -3.275e+03 -2.64e-15 1.40e-16 3.7e-15 9.9e+03 6.7e-15 1.35e-10
***** FALSE CONVERGENCE *****
FUNCTION -3.274708e+03 RELDX 3.716e-15
FUNC. EVALS 99 GRAD. EVALS 24
PRELDF 1.396e-16 NPRELDF 1.353e-10
I FINAL X(I) D(I) G(I)
1 8.956549e-06 1.000e+00 -6.835e+01
2 6.527503e-02 1.000e+00 -3.575e-02
3 8.997967e-01 1.000e+00 1.025e-02
DASH-USD
Constant Mean - GARCH Model Results
==============================================================================
Dep. Variable: Diff R-squared: 0.000
Mean Model: Constant Mean Adj. R-squared: 0.000
Vol Model: GARCH Log-Likelihood: 1111.64
Distribution: Normal AIC: -2215.28
Method: Maximum Likelihood BIC: -2198.96
No. Observations: 437
Date: ven, dic 15 2023 Df Residuals: 436
Time: 08:39:00 Df Model: 1
Mean Model
==============================================================================
coef std err t P>|t| 95.0% Conf. Int.
------------------------------------------------------------------------------
mu -6.4232e-04 8.411e-04 -0.764 0.445 [-2.291e-03,1.006e-03]
Volatility Model
============================================================================
coef std err t P>|t| 95.0% Conf. Int.
----------------------------------------------------------------------------
omega 5.7952e-05 1.155e-05 5.017 5.237e-07 [3.531e-05,8.059e-05]
alpha[1] 0.1076 6.875e-02 1.565 0.117 [-2.712e-02, 0.242]
beta[1] 0.7379 7.224e-02 10.215 1.697e-24 [ 0.596, 0.880]
============================================================================
Covariance estimator: robust
***** ESTIMATION WITH ANALYTICAL GRADIENT *****
I INITIAL X(I) D(I)
1 3.508099e-04 1.000e+00
2 5.000000e-02 1.000e+00
3 5.000000e-02 1.000e+00
IT NF F RELDF PRELDF RELDX STPPAR D*STEP NPRELDF
0 1 -1.499e+03
1 7 -1.499e+03 7.94e-05 1.32e-04 1.0e-04 2.0e+09 1.0e-05 1.30e+05
2 8 -1.499e+03 3.23e-06 3.54e-06 9.5e-05 2.0e+00 1.0e-05 8.66e-01
3 15 -1.501e+03 9.78e-04 1.39e-03 2.9e-01 2.0e+00 4.1e-02 8.63e-01
4 18 -1.505e+03 2.42e-03 2.42e-03 5.8e-01 1.9e+00 1.6e-01 2.04e-01
5 19 -1.508e+03 2.14e-03 4.26e-03 4.2e-01 1.3e+00 3.3e-01 1.58e-02
6 27 -1.508e+03 3.83e-04 8.03e-04 1.1e-05 5.3e+00 1.2e-05 2.13e-03
7 28 -1.508e+03 3.48e-06 2.55e-06 9.5e-06 2.0e+00 1.2e-05 1.44e-04
8 35 -1.508e+03 8.90e-05 1.11e-04 2.3e-02 5.2e-01 2.8e-02 1.34e-04
9 37 -1.509e+03 1.68e-04 1.04e-04 2.8e-02 0.0e+00 3.7e-02 1.04e-04
10 38 -1.509e+03 1.09e-04 1.02e-04 5.8e-02 0.0e+00 7.1e-02 1.02e-04
11 39 -1.509e+03 2.89e-06 6.47e-06 4.4e-03 0.0e+00 6.7e-03 6.47e-06
12 40 -1.509e+03 5.70e-07 4.53e-07 6.0e-04 0.0e+00 7.4e-04 4.53e-07
13 41 -1.509e+03 7.55e-08 3.13e-09 2.3e-04 0.0e+00 3.2e-04 3.13e-09
14 42 -1.509e+03 -4.18e-09 4.77e-11 2.0e-05 0.0e+00 3.0e-05 4.77e-11
***** RELATIVE FUNCTION CONVERGENCE *****
FUNCTION -1.508897e+03 RELDX 1.964e-05
FUNC. EVALS 42 GRAD. EVALS 14
PRELDF 4.769e-11 NPRELDF 4.769e-11
I FINAL X(I) D(I) G(I)
1 9.604329e-05 1.000e+00 1.344e+01
2 1.505650e-01 1.000e+00 -3.849e-03
3 6.041880e-01 1.000e+00 5.082e-03
XRP-USD
Constant Mean - GARCH Model Results
==============================================================================
Dep. Variable: Diff R-squared: 0.000
Mean Model: Constant Mean Adj. R-squared: 0.000
Vol Model: GARCH Log-Likelihood: 2047.80
Distribution: Normal AIC: -4087.60
Method: Maximum Likelihood BIC: -4068.65
No. Observations: 842
Date: ven, dic 15 2023 Df Residuals: 841
Time: 08:39:00 Df Model: 1
Mean Model
==============================================================================
coef std err t P>|t| 95.0% Conf. Int.
------------------------------------------------------------------------------
mu -4.6731e-04 6.177e-04 -0.757 0.449 [-1.678e-03,7.433e-04]
Volatility Model
============================================================================
coef std err t P>|t| 95.0% Conf. Int.
----------------------------------------------------------------------------
omega 1.5062e-05 1.386e-11 1.087e+06 0.000 [1.506e-05,1.506e-05]
alpha[1] 0.1002 4.460e-02 2.247 2.463e-02 [1.281e-02, 0.188]
beta[1] 0.8785 3.225e-02 27.244 1.942e-163 [ 0.815, 0.942]
============================================================================
Covariance estimator: robust
***** ESTIMATION WITH ANALYTICAL GRADIENT *****
I INITIAL X(I) D(I)
1 5.269160e-04 1.000e+00
2 5.000000e-02 1.000e+00
3 5.000000e-02 1.000e+00
IT NF F RELDF PRELDF RELDX STPPAR D*STEP NPRELDF
0 1 -2.727e+03
1 7 -2.728e+03 2.94e-04 4.98e-04 3.0e-04 1.5e+09 3.0e-05 3.84e+05
2 8 -2.728e+03 8.05e-06 8.84e-06 2.9e-04 2.0e+00 3.0e-05 1.09e+01
3 15 -2.747e+03 7.08e-03 1.08e-02 5.5e-01 2.0e+00 1.2e-01 1.07e+01
4 17 -2.763e+03 5.63e-03 5.08e-03 3.0e-01 2.0e+00 1.2e-01 2.49e+00
5 19 -2.795e+03 1.15e-02 1.13e-02 3.9e-01 2.0e+00 2.4e-01 2.86e+02
6 21 -2.801e+03 2.26e-03 2.28e-03 5.3e-02 2.0e+00 4.9e-02 5.25e+01
7 23 -2.817e+03 5.47e-03 9.00e-03 1.8e-01 2.0e+00 2.2e-01 7.28e-01
8 30 -2.818e+03 3.64e-04 8.98e-04 5.8e-06 1.4e+01 7.7e-06 3.52e-02
9 31 -2.818e+03 8.77e-06 7.09e-06 5.4e-06 2.0e+00 7.7e-06 4.19e-03
10 32 -2.818e+03 4.47e-07 3.78e-07 5.4e-06 2.0e+00 7.7e-06 3.84e-03
11 39 -2.818e+03 9.72e-05 1.83e-04 1.1e-02 1.9e+00 1.6e-02 3.85e-03
12 41 -2.818e+03 1.72e-04 8.90e-05 1.3e-02 0.0e+00 2.0e-02 8.90e-05
13 43 -2.820e+03 5.45e-04 5.33e-04 4.7e-02 0.0e+00 7.8e-02 9.20e-04
14 44 -2.821e+03 2.62e-04 3.21e-04 4.1e-02 6.2e-01 7.8e-02 4.25e-04
15 45 -2.821e+03 2.78e-05 5.41e-05 1.2e-02 0.0e+00 2.2e-02 5.41e-05
16 46 -2.821e+03 1.08e-05 1.22e-05 2.1e-03 0.0e+00 3.2e-03 1.22e-05
17 47 -2.821e+03 7.41e-08 1.61e-07 7.0e-04 0.0e+00 1.2e-03 1.61e-07
18 48 -2.821e+03 2.95e-08 8.37e-09 2.4e-04 0.0e+00 4.7e-04 8.37e-09
19 49 -2.821e+03 1.95e-09 1.55e-10 1.6e-05 0.0e+00 2.9e-05 1.55e-10
20 50 -2.821e+03 -2.17e-09 1.69e-11 6.0e-06 0.0e+00 1.0e-05 1.69e-11
***** RELATIVE FUNCTION CONVERGENCE *****
FUNCTION -2.820737e+03 RELDX 6.033e-06
FUNC. EVALS 50 GRAD. EVALS 20
PRELDF 1.693e-11 NPRELDF 1.693e-11
I FINAL X(I) D(I) G(I)
1 2.894236e-05 1.000e+00 -5.379e+01
2 2.073207e-01 1.000e+00 -1.227e-03
3 7.706760e-01 1.000e+00 -6.875e-03
Per valutare la bontà del modello procediamo con un analisi sui residui.
Valutiamo:
KPSS ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 0.17432400371354975 │ 0.1 │ Accept │ │ BTC-USD │ 0.19844539579445133 │ 0.1 │ Accept │ │ DASH-USD │ 0.11788575359356059 │ 0.1 │ Accept │ │ XRP-USD │ 0.10803807541946762 │ 0.1 │ Accept │ └──────────┴─────────────────────┴────────┴─────────┘
ADF ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ -15.693567424856559 │ 1.4241061163949666e-28 │ Reject │ │ BTC-USD │ -29.079199700789154 │ 0.0 │ Reject │ │ DASH-USD │ -20.551692589739947 │ 0.0 │ Reject │ │ XRP-USD │ -30.272866468250122 │ 0.0 │ Reject │ └──────────┴─────────────────────┴────────────────────────┴─────────┘
Ljung-Box ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 12.429167305858956 │ 0.2573598822424017 │ Accept │ │ BTC-USD │ 11.049385706036809 │ 0.35368336960583363 │ Accept │ │ DASH-USD │ 7.738434333520586 │ 0.6543690599625923 │ Accept │ │ XRP-USD │ 13.16396100965736 │ 0.21464853827574287 │ Accept │ └──────────┴────────────────────┴─────────────────────┴─────────┘
Breusch-Pagan ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 3.0552372793185714 │ 0.0808291850355068 │ Accept │ │ BTC-USD │ 4.81037750869296 │ 0.028547494279450508 │ Reject │ │ DASH-USD │ 0.16268201483311248 │ 0.6868977927761047 │ Accept │ │ XRP-USD │ 6.365618133810369 │ 0.011819036032203746 │ Reject │ └──────────┴─────────────────────┴──────────────────────┴─────────┘
White ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ Crypto ┃ StatValue ┃ pValue ┃ Outcome ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩ │ ETH-USD │ 2.1579503833990525 │ 0.11617918995361964 │ Accept │ │ BTC-USD │ 2.5589215991266947 │ 0.07795936137356213 │ Accept │ │ DASH-USD │ 1.432578207289038 │ 0.2398217511979006 │ Accept │ │ XRP-USD │ 3.4750426643481562 │ 0.031407409545298644 │ Reject │ └──────────┴────────────────────┴──────────────────────┴─────────┘
Grafichiamo quindi i residui ottenuti.
<Figure size 1600x900 with 0 Axes>
<Figure size 640x480 with 0 Axes>
Per quanto riguarda l'autocorrelazione andiamo a produrre degli autocorrelogrammi.
<Figure size 640x480 with 0 Axes>
Con l'obiettivo di generare delle bande di predizione in cui ci aspettiamo che ricada il nostro testing set andiamo ad applicare la tecnica di Bootstrap. Questa tecnica, che sembra empiricamente funzionare discretamente bene, è molto facile e veloce rispetto ad un tradizionale approccio parametrico ma non dà informazioni complete sul processo generatore della serie dei residui.
Procediamo quindi con i seguenti passi per ogni cryptovaluta:
<Figure size 640x480 with 0 Axes>
Partendo dalle traiettorie generate, andiamo a calcolare i quantili empirici per ogni t e costruiamo le nostre bande di predizione al 10% e 90%.
Grafichiamo poi il tutto sui dati di testing effettivi.
<Figure size 640x480 with 0 Axes>
TestingSet captured by interval - Non Parametric Approch ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓ ┃ Crypto ┃ % of Points ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩ │ ETH-USD │ 88.65979381443299 │ │ BTC-USD │ 83.83838383838383 │ │ DASH-USD │ 89.58333333333334 │ │ XRP-USD │ 83.87096774193549 │ └──────────┴───────────────────┘
Per l'approccio parametrico abbiamo due ipotesi sulla distribuzione dei residui:
Andiamo quindi a vedere quale tra le due, per ogni crypto, cattura meglio i residui del modello GARCH.
Fitting of the distribution ' glogis ' by maximum likelihood Parameters : estimate Std. Error location 0.2373246 0.07869713 scale 0.4808397 0.02403501 shape 0.7640745 0.07817206 Loglikelihood: -1205.367 AIC: 2416.733 BIC: 2431.053 Correlation matrix: location scale shape location 1.0000000 -0.7311056 -0.9197160 scale -0.7311056 1.0000000 0.8168397 shape -0.9197160 0.8168397 1.0000000
Fitting of the distribution ' glogis ' by maximum likelihood Parameters : estimate Std. Error location 0.1258617 0.07432966 scale 0.4894503 0.02264852 shape 0.8525401 0.08241261 Loglikelihood: -1214.436 AIC: 2434.871 BIC: 2449.245 Correlation matrix: location scale shape location 1.0000000 -0.7031609 -0.9171679 scale -0.7031609 1.0000000 0.7845441 shape -0.9171679 0.7845441 1.0000000
Fitting of the distribution ' glogis ' by maximum likelihood Parameters : estimate Std. Error location 0.3405337 0.09214524 scale 0.4175216 0.03129869 shape 0.6042603 0.08251379 Loglikelihood: -587.6249 AIC: 1181.25 BIC: 1193.483 Correlation matrix: location scale shape location 1.0000000 -0.7094888 -0.8929235 scale -0.7094888 1.0000000 0.8324533 shape -0.8929235 0.8324533 1.0000000
Fitting of the distribution ' glogis ' by maximum likelihood Parameters : estimate Std. Error location 0.1149359 0.07446256 scale 0.4703253 0.02276311 shape 0.8395420 0.08446866 Loglikelihood: -1121.73 AIC: 2249.46 BIC: 2263.663 Correlation matrix: location scale shape location 1.0000000 -0.7149008 -0.9187227 scale -0.7149008 1.0000000 0.7939701 shape -0.9187227 0.7939701 1.0000000
Skewed T Student Params ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ ┃ Crypto ┃ Gamma ┃ Degrees of Freedom ┃ LogLikelihood ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ │ ETH-USD │ 0.9961805558210391 │ 12.617826504768184 │ -1226.5081278296686 │ │ BTC-USD │ 1.0004281502618975 │ 10.036165019890273 │ -1241.47055553863 │ │ DASH-USD │ 0.9498033896551081 │ 11.377839649194549 │ -604.3128486146462 │ │ XRP-USD │ 0.986647096448716 │ 8.862553811211907 │ -1154.180073589016 │ └──────────┴────────────────────┴────────────────────┴─────────────────────┘
Generalized Logistic Params ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ ┃ Crypto ┃ Location ┃ Scale ┃ Shape ┃ LogLikelihood ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ │ ETH-USD │ 0.23732458830417807 │ 0.48083967720439225 │ 0.7640744756521249 │ -1205.3666488127258 │ │ BTC-USD │ 0.125861732368985 │ 0.4894503257669105 │ 0.8525401171276977 │ -1214.435506980533 │ │ DASH-USD │ 0.3405336970501534 │ 0.41752163539790144 │ 0.6042602656979353 │ -587.6248517903006 │ │ XRP-USD │ 0.1149358907546211 │ 0.4703252736043755 │ 0.8395420047125439 │ -1121.7298065866314 │ └──────────┴─────────────────────┴─────────────────────┴────────────────────┴─────────────────────┘
<Figure size 640x480 with 0 Axes>
Per decidere la distribuzione più adatta ricordiamo che la minimizzazione della Negative Log-Likelihood è un problema proxy per il problema di massimizzazione della Maximum Likelihood". Procediamo quindi a selezionare la distribuzione che restituisce il valore minimo di Negative Log-Likelihood".
Best Guessed Distribution for crypto ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ ┃ Crypto ┃ Skewed Student Log-Likelihood ┃ Generalized Logistic Log-Likelihood ┃ Chosen Distribution ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ │ ETH-USD │ -1226.5081278296686 │ -1205.3666488127258 │ Skewed Student │ │ BTC-USD │ -1241.47055553863 │ -1214.435506980533 │ Skewed Student │ │ DASH-USD │ -604.3128486146462 │ -587.6248517903006 │ Skewed Student │ │ XRP-USD │ -1154.180073589016 │ -1121.7298065866314 │ Skewed Student │ └──────────┴───────────────────────────────┴─────────────────────────────────────┴─────────────────────┘
<Figure size 640x480 with 0 Axes>
<Figure size 640x480 with 0 Axes>
TestingSet captured by interval - Parametric Approch ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓ ┃ Crypto ┃ % of Points ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩ │ ETH-USD │ 94.84536082474226 │ │ BTC-USD │ 96.96969696969697 │ │ DASH-USD │ 91.66666666666666 │ │ XRP-USD │ 89.24731182795699 │ └──────────┴───────────────────┘
TestingSet captured by interval - Comparison ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Crypto ┃ % of Points - Param ┃ % of Points - Non Param ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ ETH-USD │ 94.84536082474226 │ 88.65979381443299 │ │ BTC-USD │ 96.96969696969697 │ 83.83838383838383 │ │ DASH-USD │ 91.66666666666666 │ 89.58333333333334 │ │ XRP-USD │ 89.24731182795699 │ 83.87096774193549 │ └──────────┴─────────────────────┴─────────────────────────┘
Per valutare il modello usato, consideriamo le seguenti metriche di accuratezza:
Scale-Dependent Metrics
$ \text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| $
$ \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 $
Percentage Error Metrics
$ \text{MAPE} = \frac{100}{n} \sum_{i=1}^{n} |\frac{y_i - \hat{y}_i}{y_i}|$
Relative Error Metrics
$ \text{SMAPE} = \frac{100}{n} \sum_{i=1}^{n} \frac{|y_i - \hat{y}_i|}{|y_i| + |\hat{y}_i|}$
Scale Free Metrics
$ \text{MASE} = \frac{MAE}{\frac{1}{m-1} \sum_{j=2}^{m} |y_j - y_{j-1}|} $
$ \text{RMSSE} = \sqrt{\frac{MSE}{\frac{1}{m-1} \sum_{j=2}^{m} (y_j - y_{j-1})^2}} $
Scale dependent Metrics ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Crypto ┃ MAE ┃ MSE ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ │ ETH-USD │ 0.00605913411906655 │ 1.1335729879028284e-05 │ │ BTC-USD │ 0.005565580226800619 │ 1.1263728833872771e-05 │ │ DASH-USD │ 0.00852983622946913 │ 9.119249543563399e-06 │ │ XRP-USD │ 0.0116141761479351 │ 1.7354338125973855e-05 │ └──────────┴──────────────────────┴────────────────────────┘
Percentage Error Metrics ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓ ┃ Crypto ┃ MAPE ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩ │ ETH-USD │ 102.67357145485936 │ │ BTC-USD │ 125.89945595821976 │ │ DASH-USD │ 128.91638962407984 │ │ XRP-USD │ 103.44857206123646 │ └──────────┴────────────────────┘
Relative Error Metrics ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓ ┃ Crypto ┃ SMAPE ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩ │ ETH-USD │ 90.28758325752395 │ │ BTC-USD │ 87.64969348324959 │ │ DASH-USD │ 83.99591263695348 │ │ XRP-USD │ 86.6395388373823 │ └──────────┴───────────────────┘
Scale Free Error Metrics ┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Crypto ┃ MASE ┃ RMSSE ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩ │ ETH-USD │ 1.1335729879028284e-05 │ 3.325359611065821e-06 │ │ BTC-USD │ 1.1263728833872771e-05 │ 4.494559803317425e-06 │ │ DASH-USD │ 9.119249543563399e-06 │ 1.991955279613228e-06 │ │ XRP-USD │ 1.7354338125973855e-05 │ 4.057207888251033e-06 │ └──────────┴────────────────────────┴───────────────────────┘